package com.dzl.fee.service;

import com.dzl.base.service.BaseService;
import com.dzl.fee.pojo.WelfareFeeOrder;
import com.dzl.fee.pojo.query.WelfareFeeOrderQuery;
import com.dzl.fee.pojo.vo.WelfareFeeOrderVo;
import com.dzl.fee.pojo.vo.WelfareFeeSalesCustomersNameVo;
import com.github.pagehelper.PageInfo;

/**
 * 业务员订单表(WelfareFeeOrder)表服务接口
 *
 * @author wangjian
 * @date 2021-08-03 15:23:39
 */
public interface WelfareFeeOrderService extends BaseService<WelfareFeeOrder> {

    /**
     * 获取业务员订单列表
     * @date 2021/8/5 0005 15:38
     * @author wangjian
     * @param query 分页查询条件
     * @return java.util.List<com.dzl.feeSalesOrder.pojo.vo.WelfareFeeOrderVo>
     */
    PageInfo<WelfareFeeOrderVo> getFeeOrderListPage(WelfareFeeOrderQuery query);


    /**
     * 获取业务员订单详情，包括回款记录
     * @date 2021/8/6 0006 14:46
     * @author wangjian
     * @param id 业务员订单ID
     * @return com.dzl.feeSalesOrder.pojo.vo.WelfareFeeOrderVo
     */
    WelfareFeeOrderVo getFeeOrderDetail(Integer id);

    /**
     * 回款登记
     * @date 2021/8/6 0006 15:12
     * @author wangjian
     * @param vo 回款登记对象
     * @return java.lang.Integer
     */
    Integer updateOrderDetail(WelfareFeeOrderVo vo);

    /**
     * 修改订单总金额、回款金额和未回款金额
     * @date 2021/8/25 0025 15:57
     * @author wangjian
     * @param vo 修改的详细信息
     * @return java.lang.Integer
     */
    Integer updateAmount(WelfareFeeOrderVo vo);

    /**
     * 查询业务员订单的业务员名称和客户名称
     * @date 2021/9/30 15:07
     * @author caobucao
     * @param feeOrderId 业务员订单id
     * @return com.dzl.fee.pojo.vo.WelfareFeeSalesCustomersNameVo
     */
    WelfareFeeSalesCustomersNameVo selectSalesCustomersNameVoByFeeOrderId(Integer feeOrderId);
}